<?php
/**
 * Modelo CRUD de videos
 * @author Emanuel Melo e Renato Lenz @ PC4 Team
 */
class PC4_Crud_Video extends PC4_Crud_Upload {
	
	protected $caminho;
	
	function __construct($caminho = '', $tabela = 'videos') {
		parent::__construct($caminho, $tabela);
		
		$this->caminho = $caminho;
	}
	
	/**
	 * Verifica os campos obrigatórios e retorna seus erros
	 * @param array $campos
	 * @param int $id
	 * @return array $erros - vazio caso não tenha erros
	 */
	function valida($campos, $id = 0){
		$erros = array();
		if (trim($campos['titulo']) == '') {
			$erros[] = '&Eacute; necess&aacute;rio informar um t&iacute;tulo';
		}
		if ($campos['categoria'] == 'depoimentos' && trim($campos['descricao']) == '') {
			$erros[] = '&Eacute; necess&aacute;rio informar uma descri&ccedil;&atilde;o';
		}
		if (empty($campos['arquivo']) && trim($campos['embed']) == '') {
			$erros[] = '&Eacute; necess&aacute;rio informar um v&iacute;deo';
		}
		
		return $erros;
	}
		
	function insere($umRegistro){
		$umRegistro['slug'] = $this->slug($umRegistro['titulo']);
		if($umRegistro['destaque'] == 1){
			$data = array('destaque' => 0); 
			$this->db->update($this->tabela, $data);
		}
		return parent::insere($umRegistro);
	}
	
	/**
	 * 
	 * @param array $umRegistro
	 * @param int $id
	 * @return devolve um array de erros (nomeCampo/erro) para cada campo que não passou da validação 
	 */
	function edita($umRegistro, $valor, $campo = 'id', $debug = false) {
		$umRegistro['slug'] = $this->slug($umRegistro['titulo'], $valor);
		if($umRegistro['destaque'] == 1){
			$data = array('destaque' => 0); 
			$this->db->update($this->tabela, $data);
		}
		unset($umRegistro['opcao_upload']);
		
		return parent::edita($umRegistro, $valor);
	}
			
}
?>